Add tests for slot.assignedElements method (#8636) * Add tests for slot.assignedElements() method * Add tests for slot.assignedElements() method * Remove duplication in HTMLSlotElement-interface.html * Remove unnecessary duplicate tests
diff --git a/shadow-dom/slots-fallback.html b/shadow-dom/slots-fallback.html index a8d60e8..e705e18 100644 --- a/shadow-dom/slots-fallback.html +++ b/shadow-dom/slots-fallback.html
@@ -25,6 +25,13 @@ assert_array_equals(n.s1.assignedNodes(), []); assert_array_equals(n.s1.assignedNodes({ flatten: true }), [n.f1]); }, 'Slots fallback: Basic.'); + +test(() => { + let n = createTestTree(test1); + + assert_array_equals(n.s1.assignedElements(), []); + assert_array_equals(n.s1.assignedElements({ flatten: true }), [n.f1]); +}, 'Slots fallback: Basic, elements only.'); </script> <div id="test2"> @@ -52,6 +59,16 @@ assert_array_equals(n.s1.assignedNodes({ flatten: true }), [n.f1]); assert_array_equals(n.s2.assignedNodes({ flatten: true }), [n.f1]); }, 'Slots fallback: Slots in Slots.'); + +test(() => { + let n = createTestTree(test2); + + assert_array_equals(n.s1.assignedElements(), []); + assert_array_equals(n.s2.assignedElements(), []); + + assert_array_equals(n.s1.assignedElements({ flatten: true }), [n.f1]); + assert_array_equals(n.s2.assignedElements({ flatten: true }), [n.f1]); +}, 'Slots fallback: Slots in Slots, elements only.'); </script> <div id="test3"> @@ -109,7 +126,7 @@ assert_array_equals(n.s1.assignedNodes({ flatten: true }), [n.c1]); assert_array_equals(n.s2.assignedNodes({ flatten: true }), [n.c1]); -}, 'Slots fallback: Slots in Slots: Assinged nodes should be used as fallback contents of another slot'); +}, 'Slots fallback: Slots in Slots: Assigned nodes should be used as fallback contents of another slot'); </script> <div id="test5"> @@ -154,6 +171,20 @@ test(() => { let n = createTestTree(test5); + + assert_array_equals(n.s1.assignedElements(), [n.c1]); + assert_array_equals(n.s2.assignedElements(), []); + assert_array_equals(n.s3.assignedElements(), [n.s2]); + assert_array_equals(n.s4.assignedElements(), []); + + assert_array_equals(n.s1.assignedElements({ flatten: true }), [n.c1]); + assert_array_equals(n.s2.assignedElements({ flatten: true }), [n.c1, n.f2]); + assert_array_equals(n.s3.assignedElements({ flatten: true }), [n.c1, n.f2]); + assert_array_equals(n.s4.assignedElements({ flatten: true }), [n.c1, n.f2, n.f4]); +}, 'Slots fallback: Complex case, elements only.'); + +test(() => { + let n = createTestTree(test5); removeWhiteSpaceOnlyTextNodes(n.test5); let d1 = document.createElement('div'); diff --git a/shadow-dom/slots.html b/shadow-dom/slots.html index 550d7d4..948d389 100644 --- a/shadow-dom/slots.html +++ b/shadow-dom/slots.html
@@ -22,6 +22,12 @@ assert_equals(n.c1.assignedSlot, n.s1); assert_array_equals(n.s1.assignedNodes(), [n.c1]); }, 'Slots: Basic.'); + +test(() => { + let n = createTestTree(test_basic); + + assert_array_equals(n.s1.assignedElements(), [n.c1]); +}, 'Slots: Basic, elements only.'); </script> <div id="test_basic_closed"> @@ -41,6 +47,12 @@ assert_equals(n.c1.assignedSlot, null); assert_array_equals(n.s1.assignedNodes(), [n.c1]); }, 'Slots: Slots in closed.'); + +test(() => { + let n = createTestTree(test_basic_closed); + + assert_array_equals(n.s1.assignedElements(), [n.c1]); +}, 'Slots: Slots in closed, elements only.'); </script> <div id="test_slot_not_in_shadow"> @@ -54,6 +66,12 @@ assert_array_equals(n.s1.assignedNodes(), []); }, 'Slots: Slots not in a shadow tree.'); + +test(() => { + let n = createTestTree(test_slot_not_in_shadow); + + assert_array_equals(n.s1.assignedElements(), []); +}, 'Slots: Slots not in a shadow tree, elements only.'); </script> <div id="test_slot_not_in_shadow_2"> @@ -86,7 +104,7 @@ assert_array_equals(n.s1.assignedNodes({ flatten: true }), []); assert_array_equals(n.s2.assignedNodes({ flatten: true }), []); assert_array_equals(n.s3.assignedNodes({ flatten: true }), []); -}, 'Slots: Distributed nooes for Slots not in a shadow tree.'); +}, 'Slots: Distributed nodes for Slots not in a shadow tree.'); </script> <div id="test_slot_name_matching">